package CycleTask;

import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.TimeUnit;

/**
 * All rights Reserved, Designed By www.tusdao.com
 *
 * @version V1.0
 * @Title: Timer.java
 * @Package CycleTask
 * @Description: TODO(用一句话描述该文件做什么)
 * @author: tusxxw
 * @date: 2020/9/1 4:30 下午
 * @Copyright: 2020 www.tbs.com Inc. All rights reserved.
 * <p>
 * 注意：本内容仅限于TBS项目组内部传阅，禁止外泄以及用于其他的商业目的
 */
public class TimerTests {

    public static boolean isRun = true;

    public static void main(String[] args) {


        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                //定时执行的方法在这里
                if (isRun) {
                    System.out.println("定时方法1运行...");
                } else {
                    this.cancel();
                }
            }
        };
        TimerTask task2 = new TimerTask() {
            @Override
            public void run() {
                //定时执行的方法在这里
                if (isRun) {
                    System.out.println("定时方法2运行...");
                } else {
                    this.cancel();
                }
            }
        };
        //Timer 用来调度TimerTask的
        Timer timer = new Timer();
        long delay = 2000; //设置延迟执行的时间 2S
        long period = 500; //执行的周期 0.5s一次
        System.out.println("2秒后还是执行方法...");
        //执行调度任务
        timer.scheduleAtFixedRate(task,delay,period);
        timer.scheduleAtFixedRate(task,delay,period*5);
//        try {
//            timer.wait(3000);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
        try {
            Thread.sleep(30000);
        } catch (Exception e){
            e.printStackTrace();
        }
        isRun = false;

        try {
            Thread.sleep(3000);
        } catch (Exception e){
            e.printStackTrace();
        }
        isRun = true;
//        System.out.println(timer.purge());// 0
        System.out.println("取消后2秒后还是执行方法...");
//        timer.scheduleAtFixedRate(task,delay,period);

    }
}
